package cn.tansanqinger.util;

import java.math.BigInteger;
import java.security.MessageDigest;
import java.util.Base64;
import java.util.Base64.Encoder;

/**
 * 主要进行信息的加密和验证
 * @author C3H2
 * @sine 9月
 */
public class Encoder_Dispose {
	/**
	 * 加密密码 所有密码不进行解密处理
	 * @param message 要加密的信息
	 * @return 返回加密后的信息
	 */
	public static String encoder(String message) {
		message = "{{c}3}h{2}!{@}"+message;//添加盐值
		Encoder encoder = Base64.getEncoder();
		for (int i = 0; i < 3; i++) {
			message = encoder.encodeToString(message.getBytes());
		}
		return message;
	}
	/**
	 * 验证邮箱是否符合要求
	 * @param email 邮箱账号
	 * @return 返回验证结果
	 */
	public static boolean isEmail(String email) {
		String regex = "[a-zA-Z0-9_\\-]+@[a-zA-Z0-9_\\-]+\\.(com|cn|com\\.cn|net|org|gov)";
		return email.matches(regex);
	}
	/**
	 * 验证电话号码是否符合标准
	 * @param phone 手机号
	 * @return 返回结果
	 */
	public static boolean isPhone(String phone) {
		String regex="1(3|4|5|6|7|8|9)\\d{9}";
		return phone.matches(regex);
	}
	/**
	 * 检测是否存在空值
	 * @param array 需要检验的数据
	 * @return 返回检测结果
	 */
	public static boolean isNull(String ... array) {
		for (int i = 0; i < array.length; i++) {
			if(array[i]==null||array[i].trim()=="") {
				return false;
			}
		}
		return true;
	}
	
	public static String encoderMD5(String message) {
		try {
			MessageDigest md = MessageDigest.getInstance("MD5");
			byte[] inputData = message.getBytes();
			md.update(inputData);
			return encoder(new BigInteger(md.digest()).toString(16));
		} catch (Exception e) {
		}
		return "";
	}

}
